【MySQL】演算の優先順位と制御

【MySQL】演算の優先順位と制御

算数や数学の式と同様にMySQLの演算にも優先順位があります。

ここでは、MySQLの演算の優先順位と制御について解説します。

検証環境

優先順位

算術演算や比較演算、論理演算などの演算は処理の順序に優先順位があります。

優先順位(↑高↓低)
演算子 意味
! 否定
- 数値のマイナス記号
*, /, DIV, %, MOD 乗算、除算、剰余
+, - 加算、減算
=, <=>, <>, !=, <, <=, >, >=, LIKE, IN 比較関連Ⅰ
BETWEEN 比較関連Ⅱ
NOT 否定
AND, && 論理積
XOR 排他的論理和
OR, || 論理和

例えば、次の3 + 8 * 11では8 * 11を最初に演算し、その結果に3が加算されます。

mysql> SELECT 3 + 8 * 11;
+------------+
| 3 + 8 * 11 |
+------------+
|         91 |
+------------+
1 row in set (0.00 sec)

制御

算数・数学の数式と同様に丸括弧(())で優先度を制御することができます。

丸括弧がネスト(階層化)する場合はより内側のモノから優先して演算されます。

mysql> SELECT ( 3 + 8 ) * 11;
+----------------+
| ( 3 + 8 ) * 11 |
+----------------+
|            121 |
+----------------+
1 row in set (0.00 sec)